스칼라형
파이썬은 숫자 데이터와 문자열, 불리언 값, 그리고 날짜와 시간을 다룰 수 있는 몇몇 내장 자료형을 제공한다.
자료형 | 설명 |
---|---|
None | 파이썬의 null 값(None은 예약어가 아니라 NoneType의 유일한 인스턴스이다.) |
str | 문자열 자료형 |
unicode | 유니코드 문자열 자료형 |
float | 배정밀도(64비트) 부동소수점 실수. double형이 따로 존재하지 않는다. |
int | 부호가 있는(음수 표현이 가능한) 정수. 값의 범위는 플랫폼에 의존적이다. |
long | 무한 정밀도의 부호가 있는 정수. int 값이 일정 값 이상이 되면 자동적으로 long형으로 변환된다. |
bool | 참(True)과 거짓(False) |
None
None은 파이썬에서 사용하는 널(null) 값이다. 만약 어떤 함수에서 명시적으로 값을 반환하지 않으면 묵시적으로 None을 반환한다. None은 예약어가 아니라 NoneType의 유일한 인스턴스이다.
a = None |
문자열(str)
파이썬의 문자열은 작은따옴표나 큰따옴표로 둘러싸서 표현할 수 있다. 개행문자가 포함된 여러 줄에 걸친 문자열은 3개의 작은따옴표나 큰따옴표로 둘러싼다.
lyric1 = 'My angel in the night, you are my love...' |
str 함수를 사용해서 문자열로 변환할 수 있다.a = 5.6
str(a) # '5.6'
역슬래시는 이스케이프 문자로, 개행문자나 유니코드 글자 같은 특수목적의 글자를 나타내기 위해 사용한다. 문자열 앞에 r을 써서 문자열을 그 자체로만 해석하도록 할 수도 있다.s = '12\\34' # 12\34
s = r'this\has\no\special\characters'
s # 'this\\has\\no\\special\\characters'
print(s) # this\has\no\special\characters
두 문자열을 더하면(+) 두 문자열을 이어붙인 새로운 문자열을 생성하며, 특정 문자열을 반복 출력하기 위해 곱연산(*)도 사용할 수 있다.lyric1 = 'Would you reach out for tomorrow, '
lyric2 = "or try to turn back time?"
lyric1 + lyric2 # Would you reach out for tomorrow, or try to turn back time?
for i in range(int(input())):
print('*' * (i+1))
문자열 내 다른 문자열을 삽입하기 위한 코드는 다음과 같다.my_string = 'Hello, what are doing?'
index = my_string.find('doing')
final_string = my_string[:index] + 'you ' + my_string[index:]
print(final_string)
my_string = 'Hello, what are doing?'
split_strings = my_string.split()
split_strings.insert(3, 'you')
final_string = ' '.join(split_strings)
print(final_string)
숫자 자료형(int, long, float)
숫자를 위한 파이썬의 주요 자료형은 int와 float이다. int 자료형의 크기는 플랫폼이 32비트 인지 64비트인지에 따 다르지만, 파이썬은 아주 큰 정수를 무한히 큰 정수를 저장할 수 있는 long자료형으로 변환해준다.
ival = 17239871 |
부동소수점 숫자는 float 자료형으로 나타낸다. 내부적으로는 배정밀도(64비트)를 가지는 값이다. float형은 과학표기법으로 나타낼 수도 있다.
부동소수점(Floating Point)
방식은 실수를 컴퓨터상에서 근사하여 표현할 때 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것으로, 유효숫자를 나타내는 가수와 소수점의 위치를 풀이하는 지수로 나누어 표현한다.
fval = 7.123 |
파이썬3 버전에서는 정수 나눗셈은 정수를 반환하지 않고 부동소수점 숫자를 반환한다. 나눗셈의 결과가 정수가 아닐 경우 몫만을 돌려주는 C언어 형식의 정수 나눗셈은 // 연산자를 사용해 계산한다.
3 / 2 # 1.5 |
복소수의 허수 부분은 j로 나타낸다.cval = 1 + 2j
cval * (1 - 2j) # (5+0j)
불리언(bool)
파이썬에서 불리언 값은 True와 False이다. 비교 및 기타 조건식은 True 아니면 False로 해석된다. 불리언 값은 and와 or 예약어로 조합할 수 있다.
not False # True |
날짜와 시간 자료형
파이썬 내장 datetime 모듈은 datetime, date, 그리고 time 형을 지원한다.
from datetime import datetime, date, time |
datetime의 필드를 치환하는 것도 가능하다. 다음 아래의 코드는 분과 초 필드를 0으로 치환해서 새로운 객체를 생성한다.
d.replace(minute=0, second=0) # datetime.datetime(2022, 1, 24, 4, 0) |
두 datetime 객체의 차는 datetime.timedelta 객체를 반환하며, timedelta 객체를 datetime 객체에 더하면 그 만큼 시간이 지연된 datetime 객체를 얻을 수 있다.
d1 = datetime(2022, 1, 24, 4, 57, 0) |
형 변환
str, bool, int, float 자료형은 형 변환을 위한 함수로 사용된다.s = '3.14159'
fval = float(s)
print(type(fval), fval) # <class 'float'> 3.14159
int(fval) # 3
bool(fval) # True
d = datetime(2022, 1, 24, 4, 57, 0) |